{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "train_df=pd.read_csv('data/train.csv')\n",
    "test_df=pd.read_csv('data/test.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train_df.sample(5)\n",
    "# test_df.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 238,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 196539 entries, 0 to 196538\n",
      "Data columns (total 19 columns):\n",
      "Time            196539 non-null int64\n",
      "Neighborhood    196539 non-null int64\n",
      "RentRoom        195538 non-null float64\n",
      "Height          196539 non-null int64\n",
      "TolHeight       196539 non-null float64\n",
      "RoomArea        196539 non-null float64\n",
      "RoomDir         196539 non-null object\n",
      "RentStatus      20138 non-null float64\n",
      "Bedroom         196539 non-null int64\n",
      "Livingroom      196539 non-null int64\n",
      "Bathroom        196539 non-null int64\n",
      "RentType        24230 non-null float64\n",
      "Region          196508 non-null float64\n",
      "BusLoc          196508 non-null float64\n",
      "SubwayLine      91778 non-null float64\n",
      "SubwaySta       91778 non-null float64\n",
      "SubwayDis       91778 non-null float64\n",
      "RemodCond       18492 non-null float64\n",
      "Rental          196539 non-null float64\n",
      "dtypes: float64(12), int64(6), object(1)\n",
      "memory usage: 28.5+ MB\n"
     ]
    }
   ],
   "source": [
    "train_df.info()\n",
    "# test_df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "带缺失值的列有：\n",
    "**RentRoom、RentStatus、RentType、Region、BusLoc、SubwayLine、SubwaySta、SubwayDis、RemodCond**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Time</th>\n",
       "      <th>Neighborhood</th>\n",
       "      <th>RentRoom</th>\n",
       "      <th>Height</th>\n",
       "      <th>TolHeight</th>\n",
       "      <th>RoomArea</th>\n",
       "      <th>RentStatus</th>\n",
       "      <th>Bedroom</th>\n",
       "      <th>Livingroom</th>\n",
       "      <th>Bathroom</th>\n",
       "      <th>RentType</th>\n",
       "      <th>Region</th>\n",
       "      <th>BusLoc</th>\n",
       "      <th>SubwayLine</th>\n",
       "      <th>SubwaySta</th>\n",
       "      <th>SubwayDis</th>\n",
       "      <th>RemodCond</th>\n",
       "      <th>Rental</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>196539.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>195538.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>20138.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "      <td>24230.000000</td>\n",
       "      <td>196508.000000</td>\n",
       "      <td>196508.000000</td>\n",
       "      <td>91778.000000</td>\n",
       "      <td>91778.000000</td>\n",
       "      <td>91778.000000</td>\n",
       "      <td>18492.000000</td>\n",
       "      <td>196539.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.115229</td>\n",
       "      <td>3224.116562</td>\n",
       "      <td>0.124151</td>\n",
       "      <td>0.955449</td>\n",
       "      <td>0.408711</td>\n",
       "      <td>0.013139</td>\n",
       "      <td>2.725196</td>\n",
       "      <td>2.236635</td>\n",
       "      <td>1.299625</td>\n",
       "      <td>1.223818</td>\n",
       "      <td>0.900289</td>\n",
       "      <td>7.905139</td>\n",
       "      <td>67.945982</td>\n",
       "      <td>3.284850</td>\n",
       "      <td>57.493735</td>\n",
       "      <td>0.551202</td>\n",
       "      <td>3.589228</td>\n",
       "      <td>7.949313</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.786980</td>\n",
       "      <td>2023.073726</td>\n",
       "      <td>0.133299</td>\n",
       "      <td>0.851511</td>\n",
       "      <td>0.183100</td>\n",
       "      <td>0.008104</td>\n",
       "      <td>0.667763</td>\n",
       "      <td>0.896961</td>\n",
       "      <td>0.613169</td>\n",
       "      <td>0.487234</td>\n",
       "      <td>0.299621</td>\n",
       "      <td>4.025696</td>\n",
       "      <td>43.522394</td>\n",
       "      <td>1.477147</td>\n",
       "      <td>35.191414</td>\n",
       "      <td>0.247268</td>\n",
       "      <td>1.996912</td>\n",
       "      <td>6.310609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.007812</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.001667</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1388.000000</td>\n",
       "      <td>0.039062</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.290909</td>\n",
       "      <td>0.009268</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>33.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>0.356667</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.923599</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>3086.000000</td>\n",
       "      <td>0.082031</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.418182</td>\n",
       "      <td>0.012910</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>61.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>0.554167</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>6.621392</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>5199.000000</td>\n",
       "      <td>0.160156</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.563636</td>\n",
       "      <td>0.014896</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>103.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>87.000000</td>\n",
       "      <td>0.745833</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>8.998302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>6627.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>14.000000</td>\n",
       "      <td>152.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>119.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>100.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Time   Neighborhood       RentRoom         Height  \\\n",
       "count  196539.000000  196539.000000  195538.000000  196539.000000   \n",
       "mean        2.115229    3224.116562       0.124151       0.955449   \n",
       "std         0.786980    2023.073726       0.133299       0.851511   \n",
       "min         1.000000       0.000000       0.007812       0.000000   \n",
       "25%         1.000000    1388.000000       0.039062       0.000000   \n",
       "50%         2.000000    3086.000000       0.082031       1.000000   \n",
       "75%         3.000000    5199.000000       0.160156       2.000000   \n",
       "max         3.000000    6627.000000       1.000000       2.000000   \n",
       "\n",
       "           TolHeight       RoomArea    RentStatus        Bedroom  \\\n",
       "count  196539.000000  196539.000000  20138.000000  196539.000000   \n",
       "mean        0.408711       0.013139      2.725196       2.236635   \n",
       "std         0.183100       0.008104      0.667763       0.896961   \n",
       "min         0.000000       0.000000      1.000000       0.000000   \n",
       "25%         0.290909       0.009268      3.000000       2.000000   \n",
       "50%         0.418182       0.012910      3.000000       2.000000   \n",
       "75%         0.563636       0.014896      3.000000       3.000000   \n",
       "max         1.000000       1.000000      3.000000      11.000000   \n",
       "\n",
       "          Livingroom       Bathroom      RentType         Region  \\\n",
       "count  196539.000000  196539.000000  24230.000000  196508.000000   \n",
       "mean        1.299625       1.223818      0.900289       7.905139   \n",
       "std         0.613169       0.487234      0.299621       4.025696   \n",
       "min         0.000000       0.000000      0.000000       0.000000   \n",
       "25%         1.000000       1.000000      1.000000       4.000000   \n",
       "50%         1.000000       1.000000      1.000000       9.000000   \n",
       "75%         2.000000       1.000000      1.000000      11.000000   \n",
       "max         8.000000       8.000000      1.000000      14.000000   \n",
       "\n",
       "              BusLoc    SubwayLine     SubwaySta     SubwayDis     RemodCond  \\\n",
       "count  196508.000000  91778.000000  91778.000000  91778.000000  18492.000000   \n",
       "mean       67.945982      3.284850     57.493735      0.551202      3.589228   \n",
       "std        43.522394      1.477147     35.191414      0.247268      1.996912   \n",
       "min         0.000000      1.000000      1.000000      0.001667      1.000000   \n",
       "25%        33.000000      2.000000     23.000000      0.356667      2.000000   \n",
       "50%        61.000000      4.000000     59.000000      0.554167      2.000000   \n",
       "75%       103.000000      5.000000     87.000000      0.745833      6.000000   \n",
       "max       152.000000      5.000000    119.000000      1.000000      6.000000   \n",
       "\n",
       "              Rental  \n",
       "count  196539.000000  \n",
       "mean        7.949313  \n",
       "std         6.310609  \n",
       "min         0.000000  \n",
       "25%         4.923599  \n",
       "50%         6.621392  \n",
       "75%         8.998302  \n",
       "max       100.000000  "
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 小区"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有小区数：2085\n",
      "测试集独有小区：342\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# len(train_df.loc[:,'Neighborhood'].unique())        # 5547个小区，多类别特征，考虑mean-encoding或target-encoding\n",
    "# len(test_df.loc[:,'Neighborhood'].unique())        # 3804个小区，多类别特征，考虑mean-encoding或target-encoding\n",
    "train_nei=set(train_df.loc[:,'Neighborhood'].unique())\n",
    "test_nei=set(test_df.loc[:,'Neighborhood'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "\n",
    "print('训练集独有小区数：{}'.format(len(train_unique)))\n",
    "print('测试集独有小区：{}'.format(len(test_unique)))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,figsize=(13,4))\n",
    "axs[0].hist(train_df.dropna().loc[:,'Neighborhood'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(test_df.dropna().loc[:,'Neighborhood'],bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 楼层"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0    75825\n",
      "2    67069\n",
      "1    53645\n",
      "Name: Height, dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(train_df.loc[:,'Height'].value_counts())\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2)\n",
    "axs[0].pie(train_df.loc[:,'Height'].value_counts().values,\n",
    "        labels=train_df.loc[:,'Height'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "axs[1].pie(test_df.loc[:,'Height'].value_counts().values,\n",
    "        labels=test_df.loc[:,'Height'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 朝向"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有朝向：{'WS W EN', 'E W EN', 'ES WS W', 'E WN N', 'W WN N', 'N W', 'S N EN', 'E ES N', 'ES S WS W', 'ES W N', 'E S WS', 'E S WN N'}\n",
      "测试集独有朝向：{'WN N EN', 'S ES'}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# print(len(train_df.loc[:,'RoomDir'].value_counts()))        # 64种不同字符串\n",
    "# print(len(test_df.loc[:,'RoomDir'].value_counts()))        # 54种不同字符串\n",
    "train_nei=set(train_df.loc[:,'RoomDir'].unique())\n",
    "test_nei=set(test_df.loc[:,'RoomDir'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "\n",
    "print('训练集独有朝向：{}'.format(train_unique))\n",
    "print('测试集独有朝向：{}'.format(test_unique))\n",
    "\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(2,1,figsize=(15,6),sharex=True)\n",
    "axs[0].bar(x=train_df.loc[:,'RoomDir'].value_counts().index,height=train_df.loc[:,'RoomDir'].value_counts().values)\n",
    "axs[1].bar(x=test_df.loc[:,'RoomDir'].value_counts().index,height=test_df.loc[:,'RoomDir'].value_counts().values)\n",
    "plt.xticks(rotation='90')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def ex_dir(direction):\n",
    "    try:\n",
    "        direction=direction.split(' ')[0]\n",
    "    except Exception as e:\n",
    "        pass\n",
    "    return direction\n",
    "\n",
    "tmp_train_df=train_df\n",
    "tmp_test_df=test_df\n",
    "tmp_train_df.loc[:,'RoomDir']=train_df.loc[:,'RoomDir'].apply(ex_dir)\n",
    "tmp_test_df.loc[:,'RoomDir']=test_df.loc[:,'RoomDir'].apply(ex_dir)\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(2,1,figsize=(15,6),sharex=True)\n",
    "axs[0].bar(x=tmp_train_df.loc[:,'RoomDir'].value_counts().index,height=tmp_train_df.loc[:,'RoomDir'].value_counts().values)\n",
    "axs[1].bar(x=tmp_test_df.loc[:,'RoomDir'].value_counts().index,height=tmp_test_df.loc[:,'RoomDir'].value_counts().values)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 出租状态"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.0    17087\n",
      "1.0     2483\n",
      "2.0      568\n",
      "Name: RentStatus, dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(train_df.loc[:,'RentStatus'].value_counts())\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2)\n",
    "axs[0].pie(train_df.loc[:,'RentStatus'].value_counts().values,\n",
    "        labels=train_df.loc[:,'RentStatus'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "axs[1].pie(test_df.loc[:,'RentStatus'].value_counts().values,\n",
    "        labels=test_df.loc[:,'RentStatus'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "plt.title('RentStatus')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 卧室"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有卧室数：{11}\n",
      "测试集独有卧室数：set()\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# print(len(train_df.loc[:,'Bedroom'].value_counts()))        # 12\n",
    "# print(len(test_df.loc[:,'Bedroom'].value_counts()))        # 11\n",
    "train_nei=set(train_df.loc[:,'Bedroom'].unique())\n",
    "test_nei=set(test_df.loc[:,'Bedroom'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "print('训练集独有卧室数：{}'.format(train_unique))\n",
    "print('测试集独有卧室数：{}'.format(test_unique))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,sharey=True,figsize=(15,4))\n",
    "axs[0].barh(y=train_df.loc[:,'Bedroom'].value_counts().index,width=train_df.loc[:,'Bedroom'].value_counts().values)\n",
    "axs[1].barh(y=test_df.loc[:,'Bedroom'].value_counts().index,width=test_df.loc[:,'Bedroom'].value_counts().values)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 起居室"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有起居室数：set()\n",
      "测试集独有起居室数：{7}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_nei=set(train_df.loc[:,'Livingroom'].unique())\n",
    "test_nei=set(test_df.loc[:,'Livingroom'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "print('训练集独有起居室数：{}'.format(train_unique))\n",
    "print('测试集独有起居室数：{}'.format(test_unique))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,sharey=True,figsize=(15,4))\n",
    "axs[0].barh(y=train_df.loc[:,'Livingroom'].value_counts().index,width=train_df.loc[:,'Livingroom'].value_counts().values)\n",
    "axs[1].barh(y=test_df.loc[:,'Livingroom'].value_counts().index,width=test_df.loc[:,'Livingroom'].value_counts().values)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 卫浴"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有卫浴数：{8}\n",
      "测试集独有卫浴数：set()\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_nei=set(train_df.loc[:,'Bathroom'].unique())\n",
    "test_nei=set(test_df.loc[:,'Bathroom'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "print('训练集独有卫浴数：{}'.format(train_unique))\n",
    "print('测试集独有卫浴数：{}'.format(test_unique))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,sharey=True,figsize=(15,4))\n",
    "axs[0].barh(y=train_df.loc[:,'Bathroom'].value_counts().index,width=train_df.loc[:,'Bathroom'].value_counts().values)\n",
    "axs[1].barh(y=test_df.loc[:,'Bathroom'].value_counts().index,width=test_df.loc[:,'Bathroom'].value_counts().values)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 出租类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.0    21814\n",
      "0.0     2416\n",
      "Name: RentType, dtype: int64\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(train_df.loc[:,'RentType'].value_counts())\n",
    "plt.clf()\n",
    "plt.pie(train_df.loc[:,'RentType'].value_counts().values,\n",
    "        labels=train_df.loc[:,'RentType'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 所在行政区"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有行政区：{nan}\n",
      "测试集独有行政区：{nan}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_nei=set(train_df.loc[:,'Region'].unique())\n",
    "test_nei=set(test_df.loc[:,'Region'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "print('训练集独有行政区：{}'.format(train_unique))\n",
    "print('测试集独有行政区：{}'.format(test_unique))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,sharey=True,figsize=(15,4))\n",
    "axs[0].barh(y=train_df.loc[:,'Region'].value_counts().index,width=train_df.loc[:,'Region'].value_counts().values)\n",
    "axs[1].barh(y=test_df.loc[:,'Region'].value_counts().index,width=test_df.loc[:,'Region'].value_counts().values)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 商圈"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有商圈：{nan, 25.0, 21.0, 46.0}\n",
      "测试集独有商圈：{nan}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_nei=set(train_df.loc[:,'BusLoc'].unique())\n",
    "test_nei=set(test_df.loc[:,'BusLoc'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "print('训练集独有商圈：{}'.format(train_unique))\n",
    "print('测试集独有商圈：{}'.format(test_unique))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,figsize=(14,4))\n",
    "axs[0].hist(train_df.dropna().loc[:,'BusLoc'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(test_df.dropna().loc[:,'BusLoc'],bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**注意：**6627小区在训练集中属于86号商圈，但在测试集中却变成了136号商圈，为了保持一致性，是否需要将测试集中该小区的商圈修正。测试还有没有变化的："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train_df.loc[:,[]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 地铁线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5.0    26577\n",
      "4.0    20002\n",
      "1.0    17189\n",
      "3.0    15375\n",
      "2.0    12635\n",
      "Name: SubwayLine, dtype: int64\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(train_df.loc[:,'SubwayLine'].value_counts())\n",
    "plt.clf()\n",
    "plt.pie(train_df.loc[:,'SubwayLine'].value_counts().values,\n",
    "        labels=train_df.loc[:,'SubwayLine'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "plt.title('SubwayLine')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 地铁站"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 233,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集独有地铁站：{nan, 81.0, 110.0, 47.0}\n",
      "测试集独有地铁站：{nan}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_nei=set(train_df.loc[:,'SubwaySta'].unique())\n",
    "test_nei=set(test_df.loc[:,'SubwaySta'].unique())\n",
    "train_unique=train_nei-(train_nei&test_nei)\n",
    "test_unique=test_nei-(train_nei&test_nei)\n",
    "print('训练集独有地铁站：{}'.format(train_unique))\n",
    "print('测试集独有地铁站：{}'.format(test_unique))\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,figsize=(14,4))\n",
    "axs[0].hist(train_df.dropna().loc[:,'SubwaySta'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(test_df.dropna().loc[:,'SubwaySta'],bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 装修状况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.0    9265\n",
      "6.0    7293\n",
      "1.0    1154\n",
      "4.0     542\n",
      "3.0     214\n",
      "5.0      24\n",
      "Name: RemodCond, dtype: int64\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(train_df.loc[:,'RemodCond'].value_counts())\n",
    "plt.clf()\n",
    "plt.pie(train_df.loc[:,'RemodCond'].value_counts().values,\n",
    "        labels=train_df.loc[:,'RemodCond'].value_counts().index,\n",
    "        autopct='%1.1f%%')\n",
    "plt.title('RemodCond')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 楼层总高度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# print(len(train_df.loc[:,'TolHeight'].value_counts()))        # 55种楼层高度\n",
    "\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,figsize=(15,4))\n",
    "axs[0].hist(train_df.dropna().loc[:,'TolHeight'],bins=60,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(test_df.dropna().loc[:,'TolHeight'],bins=60,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 小区出租屋数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()\n",
    "fig,axs=plt.subplots(2,2,figsize=(15,5))\n",
    "axs[0,0].hist(train_df.dropna().loc[:,'RentRoom'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1,0].hist(np.log(train_df.dropna().loc[:,'RentRoom']),bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[0,1].hist(test_df.dropna().loc[:,'RentRoom'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1,1].hist(np.log(test_df.dropna().loc[:,'RentRoom']),bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 出租屋面积"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()\n",
    "fig,axs=plt.subplots(2,2,figsize=(15,5))\n",
    "axs[0,0].hist(train_df.dropna().loc[:,'RoomArea'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1,0].hist(np.sqrt(train_df.dropna().loc[:,'RoomArea']),bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[0,1].hist(test_df.dropna().loc[:,'RoomArea'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1,1].hist(np.sqrt(test_df.dropna().loc[:,'RoomArea']),bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 地铁站距离"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()\n",
    "fig,axs=plt.subplots(1,2,figsize=(15,4))\n",
    "axs[0].hist(train_df.dropna().loc[:,'SubwayDis'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(test_df.dropna().loc[:,'SubwayDis'],bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 租金"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()\n",
    "fig,axs=plt.subplots(2,1,figsize=(10,5))\n",
    "axs[0].hist(train_df.dropna().loc[:,'Rental'],bins=100,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(np.log(train_df.dropna().loc[:,'Rental']),bins=100,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 219,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sep=23\n",
    "plt.clf()\n",
    "fig,axs=plt.subplots(2,1,figsize=(10,5))\n",
    "axs[0].hist(train_df[train_df.loc[:,'Rental']<sep].dropna().loc[:,'Rental'],bins=sep*2,edgecolor='black',alpha=0.5)\n",
    "axs[1].hist(np.sqrt(train_df[train_df.loc[:,'Rental']>sep].dropna().loc[:,'Rental']),bins=(100-sep)*2,edgecolor='black',alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 218,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 0.005    2 0.0234    3 0.0675    4 0.1632    \n",
      "5 0.3083    6 0.4292    7 0.5594    8 0.6782    \n",
      "9 0.776    10 0.8028    11 0.8532    12 0.8805    \n",
      "13 0.9005    14 0.9101    15 0.9272    16 0.9431    \n",
      "17 0.9458    18 0.9544    19 0.9565    20 0.9644    \n",
      "21 0.969    22 0.9701    23 0.974    24 0.9747    \n",
      "25 0.9772    26 0.9815    27 0.9817    28 0.9833    \n",
      "29 0.9837    30 0.9858    31 0.9858    32 0.9861    \n",
      "33 0.989    34 0.9891    35 0.9892    36 0.9892    \n",
      "37 0.9903    38 0.9904    39 0.9905    40 0.993    \n",
      "41 0.9931    42 0.9931    43 0.9947    44 0.9947    \n",
      "45 0.9948    46 0.9948    47 0.9952    48 0.9953    \n",
      "49 0.9953    50 0.9968    51 0.9968    52 0.9969    \n",
      "53 0.9969    54 0.9975    55 0.9976    56 0.9976    \n",
      "57 0.9977    58 0.9978    59 0.9978    60 0.9984    \n",
      "61 0.9984    62 0.9985    63 0.9985    64 0.9986    \n",
      "65 0.9986    66 0.9986    67 0.9991    68 0.9992    \n",
      "69 0.9992    70 0.9992    71 0.9992    72 0.9992    \n",
      "73 0.9992    74 0.9994    75 0.9994    76 0.9994    \n",
      "77 0.9995    78 0.9995    79 0.9995    80 0.9995    \n",
      "81 0.9995    82 0.9995    83 0.9996    84 0.9998    \n",
      "85 0.9998    86 0.9998    87 0.9998    88 0.9999    \n",
      "89 0.9999    90 0.9999    91 0.9999    92 0.9999    \n",
      "93 0.9999    94 1.0    95 1.0    96 1.0    \n",
      "97 1.0    98 1.0    99 1.0    100 1.0    \n"
     ]
    }
   ],
   "source": [
    "for i in range(1,101):\n",
    "    print(i,round(len(train_df[train_df.loc[:,'Rental']<i])/len(train_df),4),end='    ')\n",
    "    if i%4==0:\n",
    "        print('')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 统计特征\n",
    "相当于mean-encoding \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train_df.loc[:,['Neighborhood','BusLoc']].drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
